class OfferController {


    def allowedMethods = [create: 'POST']

    def create = {

        def auction = Auction.get(params.auctionId)

        def user = User.get(params.userId)

        def price
        try {
            //sprawdza czy wpisano liczbę
            price = params?.price.toInteger()
        }
        catch (Exception e) {
            redirect(controller: "auction", action: "show", id: auction.id)
        }

        if (!auction && !user) {
            flash.message = "Nie znaleziono aukcji lub użytkownika!"
            redirect(controller: "auction", action: "list")
            return
        }

        if (price > user.getBalance() || user.getBalance() < auction.getPrice()) {
            flash.message = "Nie posiadasz tylu brykietów na koncie!"
            redirect(controller: "auction", action: "show", id: auction.id)
            return
        }

        if (price <= auction.getPrice()) {
            flash.message = "Musisz zaoferować więcej niż aktualna cena!"
            redirect(controller: "auction", action: "show", id: auction.id)
            return
        }

        new Offer(
            auction: auction,
            person: user,
            price: price
        ).save()

        //TODO w aukcji trzeba dodać tą ofertę do offfers
        // tylko dlaczego bez tego mi to działa??

        redirect(controller: "auction", action: "show", id: auction.id)

    }
}
